#region Apache License
//
// Licensed to the Apache Software Foundation (ASF) under one or more 
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership. 
// The ASF licenses this file to you under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with 
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#endregion



using System;
using System.Drawing;
using System.Drawing.Drawing2D;

using IPSim.Util;


namespace IPSim.GUI.Devices
{
    public class PictureDevice : RectangleDevice, IControllable
    {        

        #region Members

        protected Bitmap picture;
        private PictureDeviceController controller;
     
        #endregion

        #region Methods

        public PictureDevice(int top, int left, Bitmap pic)
        {
            picture = pic;
            location = new Point(top, left);
            size = picture.Size;
        }

        internal override void Draw(Graphics g)
        {
            Rectangle r = GetRectangle();
            Pen p;
            p = new Pen(borderColor, borderWidth);
            //g.DrawRectangle(p, r);
            foreach (BaseDevice device in Connectors)
            {
                device.Draw(g);
            }
            g.DrawImage(picture, location);
        }

        #endregion

        #region Properties


        #endregion

        #region Events


        #endregion

        #region IControllable Members

        IController IControllable.GetController()
        {
            if (controller == null)
                controller = new PictureDeviceController(this);
            return controller;
        }

        #endregion
    }
}
